Content data processing, such as video decoding, usually requires sophisticated processing cycles on uncontrolled raw content. With the proliferation of security attacks, more and more malicious data (or codes) are embedded inside raw content from third party sources, such as openly available internet web sites. However, in order to achieve high computation efficiency, most content data processing operations cannot practically perform enough security checks in each processing step. As a result, more and more security risks are introduced via content data processing systems with ever increasing number of available sources for unregulated or untrusted content data.
For example, source content data may include maliciously codes and/or incorrectly encoded codes. Typically, malicious codes are intentionally injected to cause damages to a system. When executed, malicious codes may attack the system to cause a variety of security damages, such as denying certain services from the system, illegally erasing privileged data, sending out span email messages, or retrieving secret user information (e.g. account numbers, passwords . . . ) etc. On the other hand, incorrectly encoded codes may be introduced by programming errors, transmission failures, or simply lack of robustness in a real operating environment. Decoding incorrectly encoded content data, such as having a value out of proper range, may result in system or application failures, thus making a system and/or an application less reliable and even not practically useful.
Furthermore, an application performing content data processing, such as video playback, typically calls well known APIs (application processing interfaces) to libraries (e.g. multimedia and/or graphics processing libraries) linked with the application. Thus, content data processing is usually performed in the same process running the application calling the APIs. Consequently, malicious attacks originating from content data can directly affect a calling application. For example, an application can crash by a failure which occurs when calling APIs for content data processing. Even worse, such malicious attacks are often capable of leveraging access privileges assigned to an application to inflict serious security damage to a system.
Therefore, traditional systems do not provide content data processing services which protect the systems as well as applications requesting such services.